Mobile multimedia broadcasting is a multimedia displaying technique that arises in recent years. A user can watch TV on a handheld terminal when moving in a high speed. The terminal receives the program list via a wireless protocol, and can select channels which it is entitled to watch, thereby receiving multimedia data of selected channels, and achieving watching TV on a mobile terminal.
In the current mobile multimedia broadcasting network, various service data are transmitted in a format defined by a certain standard and technical specification, and after a receiving terminal receives data encapsulated in a certain format, it analyzes the service data according to the definition of the format and obtains the required service data.
The second section of China Mobile Multimedia Broadcasting system standards defines the structure of a multiplexing frame for mobile multimedia broadcasting, comprising a payload, and a frame header of the multiplexing frame composed of length information, multimedia parameters, etc. The multiplexing frame defines the encapsulation format of data stream, one multiplexing frame is composed of a plurality of multiplexing subframes, and the number of multiplexing subframes is contained in the header of the multiplexing frame.
Wherein, the content of one multimedia broadcasting service is encapsulated in each multiplexing subframe, its structure being shown in FIG. 1, and a multiplexing subframe comprises a multiplexing subframe header, a video segment, an audio segment and a data segment. The multiplexing subframe header comprises video/audio/data indicators for indicating whether the present multiplexing subframe includes video/audio/data segments; wherein the video segment is formed by encapsulating a video segment header and a plurality of video units, as shown in FIG. 2a; the audio segment is formed by encapsulating an audio segment header and a plurality of audio units, as shown in FIG. 2b; the data segment is formed by encapsulating a data segment header and a plurality of data units, as shown in FIG. 2c. 
The video segment, audio segment and data segment are collectively referred to as media segment and the video units, audio units and data units are collectively referred to as media units herein. The media segment and media units included in the multiplexing subframe may be one or more of the above segments and units. The number of units in the present segment and length of each unit etc. are provided in the video/audio/data segment header. Wherein, each unit is composed of one or more complete multiplexing blocks.
As shown in FIG. 3, the media unit is composed of multiplexing blocks; the multiplexing block comprises a multiplexing block header and a multiplexing block payload, and the multiplexing block header is composed of start code, start tag, end tag, type, length of payload, type of data unit and Cyclic Redundancy Check (CRC). Wherein:
Start code: it is used for indicating the start of a multiplexing block and is the first part of multiplexing block header, it may occupy the first byte of the multiplexing block, having a fixed value of 0x55.
Start tag: it is used for indicating whether the current multiplexing block is the start of the video unit/audio unit/data unit. If the current multiplexing block is the first multiplexing block of the video unit/audio unit/data unit, then the tag bit is “1”; if it is not the first multiplexing block of the video unit/audio unit/data unit, then the tag bit is “0”.
End tag: it is used for indicating whether the current multiplexing block is the end of the video unit/audio unit/data unit. If the current multiplexing block is the last multiplexing block of the video unit/audio unit/data unit, then the tag bit is “1”; if it is not the last multiplexing block of the video unit/audio unit/data unit, then the tag bit is “0”.
Length of payload: it is used for indicating the length of the multiplexing block payload, its unit being byte.
Type: it is used for indicating the type of the multiplexing block, comprising multiplexing blocks for bearing video, multiplexing blocks for bearing audio and multiplexing blocks for bearing data. The multiplexing blocks for bearing video constitute video units, the multiplexing blocks for bearing audio constitute audio units and the multiplexing blocks for bearing data constitute data units. The values of the types of multiplexing blocks and the types of multiplexing blocks indicated thereby are as shown in the following table.
Value of typetype of multiplexing block00multiplexing blocks for bearing video01multiplexing blocks for bearing audio10multiplexing blocks for bearing data
Type of data units: it is only valid when the type of multiplexing block is “10”, and is used for constituting a data unit.
Currently, the complete flow for multiplexing block analyzing is: determining the start code of the multiplexing block header; after the start code is determined, determining whether the multiplexing block is the first multiplexing block or the last multiplexing block of the video/audio/data unit according to the start tag and the end tag of the multiplexing block; determining whether the present multiplexing block belongs to video units, audio units or data units according to the type of the multiplexing block header; if it belongs to data units, then further analyzing the data unit type field; performing CRC calculation for the multiplexing block header, and judging whether the content in each field of the multiplexing block header is correct; obtaining the length of the multiplexing block payload according to the length of the payload of the multiplexing block header; after the length of the multiplexing block payload is obtained, reading the data of the multiplexing block payload according to the length of the multiplexing block payload. There is no particular requirement on the order of analyzing each field in the above analyzing flow, provided that all fields are analyzed.
In the process of transmitting service data, the broadcasting channel signals received by a mobile multimedia terminal may be different from those transmitted by a transmitting terminal of the system due to factors such as distance, barrier shielding, multipath, Doppler effect, etc., as well as interference from other radio signals, and some data may be still unrecoverable even after demodulation/error correction processing, thus causing reception of error data and generation of bit error. Therefore, the format for encapsulating service data should meet the requirements for analyzing data when the receiving quality is not good, and when the receiving quality is good, the receiving terminal will perform some meaningless and redundant steps if it analyzes totally according to the encapsulation format of the service data.